package javaJob.exercise.primary.string;

public class primary16_answer {
    /**
     * 标准答案
     * @param s
     * @return
     */
    public int myAtoi(String s) {
        int len = s.length(), i = 0;
        for(; i < len; i++){
            if(s.charAt(i) != ' ') break;
        }
        if(i == len) {
            return 0;
        }
        int result = 0, flag = 1;
        if(s.charAt(i) == '-'){
            flag = -1;i++;
        }
        else if(s.charAt(i) == '+'){
            i++;
        }
        for(; i < len; i++){
            if(s.charAt(i) > '9' || s.charAt(i) < '0')
            {break;}
            if(result > 214748364 || (result == 214748364 && s.charAt(i) > '7')) {
                return flag == 1 ?2147483647 : -2147483648;
            }
            result = result * 10 + s.charAt(i) - '0';
        }
        return flag * result;
    }
}
